草庐IT

ES 脚本

全部标签

javascript - 将 ES5 数组方法与 ES6 生成器一起使用

在ES6生成器中使用新的ES5数组函数的正确方法是什么?我是否必须先将可迭代对象显式转换为数组,还是有更好的方法?例如:function*range(low,high){vari=low;while(ix+y)); 最佳答案 生成器函数返回Iterator对象。IteratorAPI不包括高阶数组方法,例如map、reduce等,因此您需要构建一个中间数组(或使用类似wu.js的库)。您可以使用spreadoperator从(有限)迭代器简洁地构建一个数组:varsum=[...range(0,10)].reduce((e,i)=>

javascript - 在 ES6 Set 中存储数组并按值访问它们

是否有一种简单的方法来验证ES6Set包含的值是特定数组?我想要一个不需要我使用引用的解决方案:varset=newSet();vararray=[1,2];set.add(array);set.has(array);//trueset.add([3,4]);set.has([3,4]);//false到目前为止,我的解决方案是将所有内容存储为字符串,但这很烦人:set.add([3,4].toString());set.has([3,4].toString());//true 最佳答案 不,没有。Set适用于对象和基元,对于防止相

javascript - 我可以触发并忘记 nodejs (ES7) 中的 promise 吗?

我想用babel运行这段代码:redisClientAsync.delAsync('key');returnawaitsomeOtherAsyncFunction();在第一行没有await的异步函数中。这样可以吗?我还能如何运行我不关心的东西?我可以在没有回调的情况下触发非promise函数del('key',null)吗? 最佳答案 是的,你可以这样做,它会并行运行两个异步函数。您刚刚创建了一个promise并将其丢弃。但是,这意味着当promise被拒绝时,您不会注意到。你只会getanunhandledRejectionev

javascript - 为什么ES6定义了map.length==0?

根据MDN:Map.lengthlength属性的值为0。这有什么用例?我理解为什么Map.size在语义上是正确的。但可以肯定的是,几乎总是返回“错误”答案的Map.length是一个坏主意,尤其是当存在疏忽从ES5迁移代码时。有没有办法在使用时强制出错? 最佳答案 JavaScript中的构造函数是常规函数,length函数的属性对应于函数期望的形式参数的数量,在Map的情况下为0。将此与RegExp.length对比,后者为2,因为RegExp构造函数需要两个参数(模式和标志)。

javascript - 什么是 ES6 中的动态导出

我听说es6中不允许动态导出/导入。Thiswebsite使用示例exportdefault5*7;就好像它是合法的静态导出一样。这似乎是合理的,因为它清楚地计算出静态值35,但我想知道现在究竟什么才算静态导出。ThisCode使用exportdefaultBackbone.Router.extend({...});就好像它是合法的静态导出一样。这对我来说似乎很可疑,因为它对我来说似乎是动态导出(导出函数调用的结果)。 最佳答案 第二个示例仅导出函数调用的结果,它是静态的。该函数仅被调用一次,因此每次导入的结果始终相同。举例说明:f

asp.net - 如何切换脚本标签的可见性?

如何切换可见性标记中的标记?在我的母版页中包含以下javascript代码:vargaJsHost=(("https:"==document.location.protocol)?"https://ssl.":"http://www.");document.write(unescape("%3Cscriptsrc='"+gaJsHost+"google-analytics.com/ga.js'type='text/javascript'%3E%3C/script%3E"));try{varpageTracker=_gat._getTracker("UA-108xxxx-2");page

javascript - 如何防止慢速脚本警告并强制浏览器继续运行脚本直到完成?

更新(2013年7月5日):自从我最初提出这个问题以来,我学到了很多东西。在下面的一条评论中,有人建议我重新处理该任务并找到一种方法来解决它而不会有阻塞UI的风险。我说不可能,函数必须按原样运行。我实际上不记得我试图用这个函数完成什么,但我确信评论者是对的,而我错了。如果您偶然发现了这个问题并且遇到了与我相似的情况,那么请非常认真地考虑您的方法存在缺陷的可能性。您可能还想查看webworkers.Hereiswhereyoucanexpectthemtowork.原始问题:我不会过于具体地针对我的问题,我会保留它的通用性,以便其他偶然发现它的人可以发现它有用。我有一个函数接受一个参数,

javascript - Node 脚本永远不会结束

我有下面的Node脚本,基本上可以复制一些文件的内容并将它们插入到mongo中。脚本似乎永远不会结束,即使所有数据都已成功插入,我总是必须执行Ctrl+C才能终止它。我应该在node.js中使用什么来结束脚本吗?varmongoose=require('mongoose');mongoose.connect('mongodb://localhost/testdb');vardir='./seeds';vardb=mongoose.connection;//Showconnectionerrorifthereisonedb.on('error',console.error.bind(co

javascript - 为什么流行的 JavaScript 运行时不能处理看起来同步的异步脚本?

作为cowboysaysdowninthecommentshere,我们都想“以类似这样的风格编写[非阻塞JavaScript]异步代码:try{varfoo=getSomething();//asynccallthatwouldnormallyblockvarbar=doSomething(foo);console.log(bar);}catch(error){console.error(error);}”所以人们想出了解决这个问题的办法,比如回调库(例如async)promiseseventpatternsstreamlinedomains和generators.但是这些都不会导致

javascript - Ember.js 在特定页面上包含外部脚本

我正在尝试弄清楚如何包含外部javascript源(展示),但仅限于网站上的单个页面。可以在View或模板中完成吗?我发现只需添加页面模板不起作用。如果我将它添加到整个网站的模板中,它会加载得很好,但它会在每个页面上加载。我的问题的另一面可能更具体。有没有办法在每次加载页面时都获取脚本?示例:当我第一次访问包含exhibit脚本的页面时,它加载了包含exhibit的ember应用程序并且页面显示正确。我离开该页面,当我返回该页面时,展览脚本没有重新加载,因此没有像第一次访问时那样正确地重新绘制页面。 最佳答案 如果您使用EmberC